﻿namespace com.stifel.ServerBuildMgmt
{
    public class Message
    {
        #region Nested Types

        public class AD
        {
            #region Fields

            public const string Available = "Virtual server build request is available for AD.";
            public const string Completed = "AD process is completed.";
            public const string Finalized = "AD process is finalized.";
            public const string Started = "AD process is started. Request has been saved.";

            #endregion Fields
        }

        public class Approval
        {
            #region Fields

            public const string Approved = "Requested Approved.";
            public const string Available = "Virtual server build request is available for approval.";
            public const string Completed = "Approval process is completed.";
            public const string Rejected = "Requested Rejected.";
            public const string Started = "Approval process is started. Request has been saved.";

            #endregion Fields
        }

        public class AV
        {
            #region Fields

            public const string Available = "Virtual server build request is available for antivirus.";
            public const string Completed = "Anti Virus process is completed.";
            public const string Finalized = "Anti Virus process is finalized.";
            public const string Started = "Anti Virus process is started. Request has been saved.";

            #endregion Fields
        }

        public class BackUp
        {
            #region Fields

            public const string Available = "Virtual server build request is available for backup.";
            public const string Completed = "Back up process is completed.";
            public const string Finalized = "Back up process is finalized.";
            public const string Started = "Back up process is started. Request has been saved.";

            #endregion Fields
        }

        public class Build
        {
            #region Fields

            public const string Available = "Virtual server build request is available for build.";
            public const string Completed = "Build process is completed.";
            public const string Finalized = "Build process is finalized.";
            public const string Started = "Build process is started. Request has been saved.";

            #endregion Fields
        }

        public class GeneralError
        {
            #region Fields

            const string _ERROR_NONOTIFICATIONLISTFOUND = "No notification list found in '{0}'. Fallback to email notification.";
            const string _ERROR_SENDEMAIL = "Internal error occurred attempting to send an email. Outbound mail server address: '{0}' Outbound mail sender address: '{1}' Outbound mail reply to address: '{2}'";

            #endregion Fields

            #region Methods

            public static string ERROR_NONOTIFICATIONLISTFOUND( string siteurl )
            {
                return string.Format( _ERROR_NONOTIFICATIONLISTFOUND, siteurl );
            }

            public static string ERROR_SENDEMAIL( string outboundMailServerAddress, string outboundMailSenderAddress, string outboundMailReplyToAddress )
            {
                return string.Format( _ERROR_SENDEMAIL, outboundMailServerAddress, outboundMailSenderAddress, outboundMailReplyToAddress );
            }

            #endregion Methods
        }

        public class Network
        {
            #region Fields

            public const string Available = "Virtual server build request is available for moniter network.";
            public const string Completed = "Moniter Network process is completed.";
            public const string Finalized = "Moniter Network process is finalized.";
            public const string Started = "Moniter Network process is started. Request has been saved.";

            #endregion Fields
        }

        public class Patch
        {
            #region Fields

            public const string Available = "Virtual server build request is available for patch.";
            public const string Completed = "Patch process is completed.";
            public const string Finalized = "Patch process is finalized.";
            public const string Started = "Patch process is started. Request has been saved.";

            #endregion Fields
        }

        public class Requestor
        {
            #region Fields

            public const string Completed = "New virtual server build request is submitted.";
            public const string Finalized = "Initial stage of the virtual server build request is finalized.";
            public const string Started = "Initial stage of the virtual server build request is started. Request has been created.";

            #endregion Fields
        }

        #endregion Nested Types
    }
}